n, x = map(int, input().split())
now = 1
ans = 0
for i in range(n):
l, r = map(int, input().split())
ans += (l - now) % x + r - l
now = r + 1
print(ans + n)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x;
cin>>n>>x;
int last=1,ans=0;
for (int i=0;i<n;i++)
{
int l,r;//We Take the first minutes and last minutes as input.
cin>>l>>r;
ans+=(r-l+1)+(l-last)%x;//First We calculate Total duration then We calculate the
//The amount of time left after Skipping.like if the difference b/w two best
//Moments is 3 and skipping allowed is 2 then 1 minutes will be remaining which we
//have to watch.
last=r+1;
}
cout<<ans<<endl;
return 0;
}
1409D - Decrease the Sum of Digits | 1476E - Pattern Matching |
1107A - Digits Sequence Dividing | 1348A - Phoenix and Balance |
1343B - Balanced Array | 1186A - Vus the Cossack and a Contest |
1494A - ABC String | 1606A - AB Balance |
1658C - Shinju and the Lost Permutation | 1547C - Pair Programming |
550A - Two Substrings | 797B - Odd sum |
1093A - Dice Rolling | 1360B - Honest Coach |
1399C - Boats Competition | 1609C - Complex Market Analysis |
1657E - Star MST | 1143B - Nirvana |
1285A - Mezo Playing Zoma | 919B - Perfect Number |
894A - QAQ | 1551A - Polycarp and Coins |
313A - Ilya and Bank Account | 1469A - Regular Bracket Sequence |
919C - Seat Arrangements | 1634A - Reverse and Concatenate |
1619C - Wrong Addition | 1437A - Marketing Scheme |
1473B - String LCM | 1374A - Required Remainder |